package cfdt.tools.util;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;

/**
 * 
 * <pre>
 * Modify Information:
 * Author       Date        Description
 * ============ =========== ============================
 * chenzhibin  2025-05-04  Create this file
 *
 * </pre>
 * 
 */
public class GUID {

    /**
     * <p>
     * 20位随机数<br/>
     * yyyyMMddHHmmss + 6位数字随机数
     * </p>
     *
     * @author shilei
     * @date 2017年5月23日 下午1:48:50
     * @return
     */
    public static String getTxNo20() {
        // 14位时间戳
        String timeString = DateUtil.format(DateUtil.date(), DatePattern.PURE_DATETIME_FORMAT);
        return timeString + RandomUtil.randomNumbers(6);
    }

    /**
     * 25位流水号
     * yyyyMMddHHmmss+Random(5)+Random(6)
     */
    public static String getTxNo25() {
        String timeString = DateUtil.format(DateUtil.date(), DatePattern.PURE_DATETIME_FORMAT);
        return timeString + RandomUtil.randomNumbers(5) + RandomUtil.randomNumbers(6);
    }

    /**
     * 27位流水号
     * yyyyMMddHHmmssSSS+Random(5)+Random(5)
     */
    public static String getTxNo27() {
        String timeString = DateUtil.format(DateUtil.date(), DatePattern.PURE_DATETIME_MS_FORMAT);
        return timeString + RandomUtil.randomNumbers(5) + RandomUtil.randomNumbers(5);
    }


}
